
package com.sxtyxt.util;

import com.sxtyxt.online.App;
import com.sxtyxt.widget.CircleBitmapDisplayer;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;

/**
 * 
 * @author 王磊杰
 * @created 王磊杰 2015-6-9
 */
public class ImageLoaderUtil {

	/**
	 * 每次调用都会新建一个Options对象，在适配器中注意避免多次调用
	 * 
	 * @param defaltImgResource
	 * @return
	 */
	public static DisplayImageOptions getOption(int defaltImgResource) {
		
		DisplayImageOptions options = new DisplayImageOptions.Builder()
		        .showImageOnLoading(defaltImgResource)
		        .showImageForEmptyUri(defaltImgResource)
		        .showImageOnFail(defaltImgResource)
		        .cacheInMemory(true)
		        .cacheOnDisk(true)
		        .considerExifParams(true)
		        .displayer(
		                new RoundedBitmapDisplayer(UIUtil.dip2px(App
		                        .getInstance().getApplicationContext(), 3)))
		        .build();
		

		return options;
	}

	/**
	 * 每次调用都会新建一个Options对象，在适配器中注意避免多次调用（返回一个圆形的option）
	 *
	 * @param defaltImgResource
	 * @return
	 */
	public static DisplayImageOptions getCircleOption(int defaltImgResource) {

		DisplayImageOptions options = new DisplayImageOptions.Builder()
		        .showImageOnLoading(defaltImgResource)
		        .showImageForEmptyUri(defaltImgResource)
		        .showImageOnFail(defaltImgResource)
		        .cacheInMemory(true)
		        .cacheOnDisk(true)
		        .considerExifParams(true)
		        .displayer(new CircleBitmapDisplayer())
		        .build();


		return options;
	}

	/**
	 * custom option -no round
	 * 
	 * @param defaltImgResource
	 * @return
	 */
	public static DisplayImageOptions getOptionCustom(int defaltImgResource) {

		DisplayImageOptions options = new DisplayImageOptions.Builder()
		        .showImageOnLoading(defaltImgResource)
		        .showImageForEmptyUri(defaltImgResource)
		        .showImageOnFail(defaltImgResource).cacheInMemory(true)
		        .cacheOnDisk(true).considerExifParams(true).build();

		return options;
	}

}
